package com.cs.mapper;

import com.cs.domain.*;
import com.cs.domain.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 招标项目Mapper接口
 * 
 * @author ruoyi
 * @date 2024-11-25
 */
public interface CsTenderMapper 
{
    /**
     * 查询招标项目
     * 
     * @param sId 招标项目主键
     * @return 招标项目
     */
    public CsTender selectCsTenderBySId(Long sId);

    /**
     * 查询招标项目列表
     * 
     * @param csTender 招标项目
     * @return 招标项目集合
     */
    public List<CsTender> selectCsTenderList(CsTender csTender);

    /**
     * 新增招标项目
     * 
     * @param csTender 招标项目
     * @return 结果
     */
    public int insertCsTender(CsTender csTender);

    /**
     * 修改招标项目
     * 
     * @param csTender 招标项目
     * @return 结果
     */
    public int updateCsTender(CsTender csTender);

    /**
     * 删除招标项目
     * 
     * @param sId 招标项目主键
     * @return 结果
     */
    public int deleteCsTenderBySId(Long sId);

    /**
     * 批量删除招标项目
     * 
     * @param sIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCsTenderBySIds(Long[] sIds);

    public int insertListCsTender(List<CsTender> csTender);

    List<File> getTenderProjectInfo(String iNumber);

    CsTender getTender(String iNumber);

    String getACode(String iNumber);

    Integer deleteCsTender(String iNumber);

    List<CSNotice> getTenderNoticeByINumber(String iNumber);

    Integer addTenderNotice(CSNotice csNotice);

    CSNotice getNoticeInfoByUId(String uId);

    Integer deleteNoticePubattachments(Integer uId);

    Integer updateNoticeByUid(CSNotice csNotice);

    Integer deleteNoticeRow(int uId);

    List<CSPubAttachments> getPubAttachmentsList(String iNumber);

    Integer deleteTenderFile(@Param("bId") Integer bDocuId);

    TenderDocumentVO getBidDocumentEndTime(String iNumber);

    List<TenderGetInfoVO> getBidPeople(String iNumber);

    Integer deleteNoticeRowByINumberStatus(String s);

    List<SubmissionSupplierVO> getBidPeopleList(String iNumber);

    Integer isExitNotice(Integer getuId);

    List<CSSubmission> getSupplierSubmitBinding(String getiNumber);

    TenderNoticeVO getProjectStateAndStartTime(String iNumber);

    Integer inserInviteSupplier(@Param("list") List<CsInviteTender> tenderList);

    List<CsSupplier> getSupplierByINumber(String iNumber);

    List<CsCandidate> getAllSupplierList(CsTender tender);

    List<CsSupplier> getAllBidder(String iNumber);

    Integer addCandidate(@Param("item") CsCandidate csCandidate);

    Integer addCsGetTender(@Param("item") CsGetTender csGetTender);

    Integer addSubmission(@Param("item") CSSubmission csSubmission);

    List<File> getTenderNotice(String iNumber);

    Integer getSupplierExit(@Param("iNumber") String iNumber, @Param("userId") Long userid);

    Integer isPublicyEndTime(@Param("iNumber") String iNumber);

    List<CsCandidate> getBidWinningCandidate(@Param("iNumber") String iNumber);

    CsTender getTenderStartTime(@Param("iNumber")String iNumber);

    Integer updateCandidate(@Param("list") List<String> strings,@Param("iNumber")String iNumber);

    Integer addCsWinnResult(@Param("list") List<CsCandidate> strings);

    List<CsCandidate> getBidWinningCandidateAndBid(String iNumber);
    List<CsCandidate> getBidCandidateAndBid(Integer hid,Integer bidder);

    List<WinningResultsSupplier> getSupplierSended(String iNumber);

    Integer setNoticeToSupplier(@Param("list") List<CsWinningResults> candidates);

    int changeStaus(@Param("itme") CsTender tender);


    /**
     * 查询招标项目数量
     * @return
     */
    public int selectTenderCount();


    /**
     * 查询招标阶段的项目
     * @param csTender
     * @return
     */
    public List<CsTender> selectTenderByState(CsTender csTender);

    public int selectTenderByStateCount(CsTender csTender);

    Integer UserRelationHid(Long userid);

    Integer isExitoperator(Integer hId);

    Integer updateCandidateByObj(@Param("dida") CsCandidate candidate);

    CsApplications getCsApplications(String iNumber);

    TenderStatusTime getTenderStatusTime(String iNumber);

    CsSupplier getSupplierIdByUid(Long userid);

    List<CsWinningResults> getBidingResult(Integer hid);

    CsSupplier getPersonInfo(Integer hid);

    List<TenderNoticeVO> getTodayTender();

    List<CsTender> getAllTender();

    List<CsWinningResults> getBidingResultByStatus();

    TenderNoticeVO getTenderNoticeInfo(String iNumber);

    List<CsCandidate> getWinnResult(String iNumber);

    List<CsCandidate> getNoBidingResult(Integer hid);

    Integer getInviteSupplier(@Param("iNumber") String iNumber,@Param("hId") Integer hId);

    List<CsCandidate> getBidWinningCandidateByHid(@Param("hId") Integer hId, @Param("bidder") int i);

    List<TenderByCandidateVO> getSupplierBidTender(Integer hId);

    List<CSCategory> getCategory();
}
